#include <iostream>
#include <string>
#include <bitset>
#include <iterator>
#include <sstream>
#include <iterator>
#include <functional>
#include <algorithm>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
#define _SKIP_LINE_ do{scanf("%*[^\n]"); getc(stdin);}while(0)

const char* op[3] = {"No carry operation.\n", "1 carry operation.\n", "%d carry operations.\n"};
char x[15], y[15];
short count (const string& X, const string& Y) {
	memset(x, 0, 15);
	memset(y, 0, 15);
	short N = max(X.size(), Y.size());
	short pos = 0, f= 0, c = 0;
	transform(X.rbegin(), X.rend(), x,  bind2nd(minus<char>(), 48));
	transform(Y.rbegin(), Y.rend(), y,  bind2nd(minus<char>(), 48));
	do {
		c += f = ((f + x[pos] + y[pos]) > 9 ? 1 : 0);
	} while(++pos < N); 
	return c;
}

/* main
 *  * */
int main() {
	std::ios_base::sync_with_stdio (true);
	string X, Y;
	short C;
	cin >> X >> Y;
	do {
		C = count(X, Y);
		printf((const char*) op[(C == 0 ? 0 : C == 1 ? 1 : 2)] , C);
		cin >> X >> Y;
	} while(cin.eof() == false && (X != "0" || Y != "0"));
	return 0;
}
